/**
 * @author Jackson
 * @create 2024/12/23 15:50
 * @description Manager-人为约定的一种写法，表示通用的、可复用的能力，可供其他代码（比如 Service）调用
 */
package com.zhihao.zhihaopicturebackend.manager;

/*
    sa-token权限校验仅用于本项目中‘团队空间’的权限校验(由于图片上传/编辑/删除等接口是public/private/team公用的，所以需要考虑)
        Step1： 引入相关sa-token依赖及redis持久化配置
        Step2： 多账号体系认证：在sa-token原有的工具类StpUtil基础上封装一层StpKit，并新建SPACE = new StpLogic(SPACE_TYPE)团队空间体系
        Step3： 修改用户登录接口(新建sa-token会话并在sa-session中存储登录用户信息)
     ⭐ Step4： 集成sa-token的关键在于：  自定义权限加载接口实现类---编写实现类并重写相关方法 xxx implements StpInterface
                                        重点就是编写getPermissionList()方法，Sa-Token 会先执行我们编写的方法，得到该用户的角色或权限列表，然后跟需要的角色权限进行比对
                此处有个技巧性的 注解式鉴权方式---业务需求--- Servlet 的请求对象传递获取所需参数  （编程式鉴权的话可以借助线程上下文ThreadLocal对象）
                    同时根据HttpRequest请求的接口url地址区分请求类中id究竟是哪个业务的id（body-流-request filter chain配置解决）
        Step5： 编写通用的权限校验逻辑，兼容公共图库、私有空间和团队空间
        Step6： 按照sa-token官网编写相关配置类，是sa-token权限校验注解生效
 */